﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KPIS.GERP.GAMS.MODEL
{
     
    public class M_ACM_Finance_Payment
    {
        private int PAY_SEQ;
        private int BGM_SOURCE_SEQ;
        private int WORK_AREA_SEQ;
        private int BGM_YEAR;
        private Nullable<int> EVENT_SEQ;
        private Nullable<DateTime> PAY_DATE;
        private Nullable<DateTime> REAL_PAY_DATE;
        private string REF_NO;
        private string RECEIPT_NO;
        private string RECEIPT_NAME;
        private string PAY_NAME;
        private Nullable<int> METHOD_SEQ;
        private Nullable<int> MONEY_REQ_SEQ;
        private Nullable<int> PETITION_SEQ;
        private Nullable<int> PETITION_DTLS_SEQ;
        private Nullable<int> EMP_SEQ;
        private Nullable<int> CONTACT_SEQ;
        private Nullable<int> CONTACT_PERSON_SEQ;
        private Nullable<int> BIDDER_SEQ;
        private Nullable<int> PO_SEQ;
        private Nullable<double> AMOUNT;
        private Nullable<double> VAT_RATE;
        private Nullable<double> VAT;
        private Nullable<double> TAX_RATE;
        private Nullable<double> TAX;
        private Nullable<int> POST_PAY_SEQ;
        private Nullable<int> TAX_PAY_SEQ;
        private Nullable<int> TRAN_GRP_SEQ;
        private string REMARKS;

        private string BGM_SOURCE_NAME;
        private string WORK_AREA_NAME;
        private string EVENT_NAME;
        private string METHOD_NAME;
        private string MONEY_REQ_NAME;
        private string PETITION_NO;
        private string PETITION_DTLS_NO;
        private string EMP_NAME;
        private string CONTACT_NAME;
        private string CONTACT_PERSON_NAME;
        private string BIDDER_NAME;
        private string PO_NAME;
        private string PAYABLE_NAME;

        private Nullable<int> APPROVED_BY;
        private Nullable<DateTime> APPROVED_WHEN;
        private string RECORD_STATUS;
        private string RECORD_STATUS_NAME;
        private Nullable<int> CREATED_BY;
        private Nullable<DateTime> CREATED_WHEN;
        private Nullable<int> UPDATED_BY;
        private Nullable<DateTime> UPDATED_WHEN;

        //เพิ่มยอดรวมตอนขอเงิน เพื่อนำมาลบกับภาษีมูลค่าเพิ่มสำหรับรายงานภาษีหัก ณ ที่จ่าย
        private Nullable<double> PR_AMOUNT;

        public M_ACM_Finance_Payment()
        {
        }


        public M_ACM_Finance_Payment(int PAY_SEQ
            , int BGM_SOURCE_SEQ
            , int WORK_AREA_SEQ
            , int BGM_YEAR
            , Nullable<int> EVENT_SEQ
            , Nullable<DateTime> PAY_DATE
            , Nullable<DateTime> REAL_PAY_DATE
            , string REF_NO
            , string RECEIPT_NO
            , string RECEIPT_NAME
            , string PAY_NAME
            , Nullable<int> METHOD_SEQ
            , Nullable<int> MONEY_REQ_SEQ
            , Nullable<int> PETITION_SEQ
            , Nullable<int> PETITION_DTLS_SEQ
            , Nullable<int> EMP_SEQ
            , Nullable<int> CONTACT_SEQ
            , Nullable<int> CONTACT_PERSON_SEQ
            , Nullable<int> BIDDER_SEQ
            , Nullable<int> PO_SEQ
            , Nullable<double> AMOUNT
            , Nullable<double> VAT_RATE
            , Nullable<double> VAT
            , Nullable<double> TAX_RATE
            , Nullable<double> TAX
            , Nullable<int> POST_PAY_SEQ
            , Nullable<int> TAX_PAY_SEQ
            , Nullable<int> TRAN_GRP_SEQ
            , string REMARKS

            , string BGM_SOURCE_NAME
            , string WORK_AREA_NAME
            , string EVENT_NAME
            , string METHOD_NAME
            , string MONEY_REQ_NAME
            , string PETITION_NO
            , string PETITION_DTLS_NO
            , string EMP_NAME
            , string CONTACT_NAME
            , string CONTACT_PERSON_NAME
            , string BIDDER_NAME
            , string PO_NAME
            , string PAYABLE_NAME

            , Nullable<int> APPROVED_BY
            , Nullable<DateTime> APPROVED_WHEN
            , string RECORD_STATUS
            , string RECORD_STATUS_NAME
            , Nullable<int> CREATED_BY
            , Nullable<DateTime> CREATED_WHEN
            , Nullable<int> UPDATED_BY
            , Nullable<DateTime> UPDATED_WHEN
            , Nullable<double> PR_AMOUNT)
        {
            this.PAY_SEQ = PAY_SEQ;
            this.BGM_SOURCE_SEQ = BGM_SOURCE_SEQ;
            this.WORK_AREA_SEQ = WORK_AREA_SEQ;
            this.BGM_YEAR = BGM_YEAR;
            this.EVENT_SEQ = EVENT_SEQ;
            this.PAY_DATE = PAY_DATE;
            this.REAL_PAY_DATE = REAL_PAY_DATE;
            this.REF_NO = REF_NO;
            this.RECEIPT_NO = RECEIPT_NO;
            this.RECEIPT_NAME = RECEIPT_NAME;
            this.PAY_NAME = PAY_NAME;
            this.METHOD_SEQ = METHOD_SEQ;
            this.MONEY_REQ_SEQ = MONEY_REQ_SEQ;
            this.PETITION_SEQ = PETITION_SEQ;
            this.PETITION_DTLS_SEQ = PETITION_DTLS_SEQ;
            this.EMP_SEQ = EMP_SEQ;
            this.CONTACT_SEQ = CONTACT_SEQ;
            this.CONTACT_PERSON_SEQ = CONTACT_PERSON_SEQ;
            this.BIDDER_SEQ = BIDDER_SEQ;
            this.PO_SEQ = PO_SEQ;
            this.AMOUNT = AMOUNT;
            this.VAT_RATE = VAT_RATE;
            this.VAT = VAT;
            this.TAX_RATE = TAX_RATE;
            this.TAX = TAX;
            this.POST_PAY_SEQ = POST_PAY_SEQ;
            this.TAX_PAY_SEQ = TAX_PAY_SEQ;
            this.TRAN_GRP_SEQ = TRAN_GRP_SEQ;
            this.REMARKS = REMARKS;

            this.BGM_SOURCE_NAME = BGM_SOURCE_NAME;
            this.WORK_AREA_NAME = WORK_AREA_NAME;
            this.EVENT_NAME = EVENT_NAME;
            this.METHOD_NAME = METHOD_NAME;
            this.MONEY_REQ_NAME = MONEY_REQ_NAME;
            this.PETITION_NO = PETITION_NO;
            this.PETITION_DTLS_NO = PETITION_DTLS_NO;
            this.EMP_NAME = EMP_NAME;
            this.CONTACT_NAME = CONTACT_NAME;
            this.CONTACT_PERSON_NAME = CONTACT_PERSON_NAME;
            this.BIDDER_NAME = BIDDER_NAME;
            this.PO_NAME = PO_NAME;
            this.PAYABLE_NAME = PAYABLE_NAME;

            this.APPROVED_BY = APPROVED_BY;
            this.APPROVED_WHEN = APPROVED_WHEN;

            this.RECORD_STATUS = RECORD_STATUS;
            this.RECORD_STATUS_NAME = RECORD_STATUS_NAME;
            this.CREATED_BY = CREATED_BY;
            this.CREATED_WHEN = CREATED_WHEN;
            this.UPDATED_BY = UPDATED_BY;
            this.UPDATED_WHEN = UPDATED_WHEN;
            this.PR_AMOUNT = PR_AMOUNT;
        }

        public int pay_seq
        {
            set { PAY_SEQ = value; }
            get { return PAY_SEQ; }
        }

        public int bgm_source_seq
        {
            set { BGM_SOURCE_SEQ = value; }
            get { return BGM_SOURCE_SEQ; }
        }

        public int work_area_seq
        {
            set { WORK_AREA_SEQ = value; }
            get { return WORK_AREA_SEQ; }
        }

        public int bgm_year
        {
            set { BGM_YEAR = value; }
            get { return BGM_YEAR; }
        }

        public Nullable<int> event_seq
        {
            set { EVENT_SEQ = value; }
            get { return EVENT_SEQ; }
        }

        public Nullable<DateTime> pay_date
        {
            set { PAY_DATE = value; }
            get { return PAY_DATE; }
        }

        public Nullable<DateTime> real_pay_date
        {
            set { REAL_PAY_DATE = value; }
            get { return REAL_PAY_DATE; }
        }

        public string ref_no
        {
            set { REF_NO = value; }
            get { return REF_NO; }
        }

        public string receipt_no
        {
            set { RECEIPT_NO = value; }
            get { return RECEIPT_NO; }
        }

        public string receipt_name
        {
            set { RECEIPT_NAME = value; }
            get { return RECEIPT_NAME; }
        }

        public string pay_name
        {
            set { PAY_NAME = value; }
            get { return PAY_NAME; }
        }

        public Nullable<int> method_seq
        {
            set { METHOD_SEQ = value; }
            get { return METHOD_SEQ; }
        }

        public Nullable<int> money_req_seq
        {
            set { MONEY_REQ_SEQ = value; }
            get { return MONEY_REQ_SEQ; }
        }

        public Nullable<int> petition_seq
        {
            set { PETITION_SEQ = value; }
            get { return PETITION_SEQ; }
        }

        public Nullable<int> petition_dtls_seq
        {
            set { PETITION_DTLS_SEQ = value; }
            get { return PETITION_DTLS_SEQ; }
        }

        public Nullable<int> emp_seq
        {
            set { EMP_SEQ = value; }
            get { return EMP_SEQ; }
        }

        public Nullable<int> contact_seq
        {
            set { CONTACT_SEQ = value; }
            get { return CONTACT_SEQ; }
        }

        public Nullable<int> contact_person_seq
        {
            set { CONTACT_PERSON_SEQ = value; }
            get { return CONTACT_PERSON_SEQ; }
        }

        public Nullable<int> bidder_seq
        {
            set { BIDDER_SEQ = value; }
            get { return BIDDER_SEQ; }
        }

        public Nullable<int> po_seq
        {
            set { PO_SEQ = value; }
            get { return PO_SEQ; }
        }

        public Nullable<double> amount
        {
            set { AMOUNT = value; }
            get { return AMOUNT; }
        }

        public Nullable<double> vat_rate
        {
            set { VAT_RATE = value; }
            get { return VAT_RATE; }
        }

        public Nullable<double> vat
        {
            set { VAT = value; }
            get { return VAT; }
        }

        public Nullable<double> tax_rate
        {
            set { TAX_RATE = value; }
            get { return TAX_RATE; }
        }

        public Nullable<double> tax
        {
            set { TAX = value; }
            get { return TAX; }
        }

        public Nullable<int> post_pay_seq
        {
            set { POST_PAY_SEQ = value; }
            get { return POST_PAY_SEQ; }
        }

        public Nullable<int> tax_pay_seq
        {
            set { TAX_PAY_SEQ = value; }
            get { return TAX_PAY_SEQ; }
        }

        public Nullable<int> tran_grp_seq
        {
            set { TRAN_GRP_SEQ = value; }
            get { return TRAN_GRP_SEQ; }
        }

        public string remarks
        {
            set { REMARKS = value; }
            get { return REMARKS; }
        }

        public string bgm_source_name
        {
            set { BGM_SOURCE_NAME = value; }
            get { return BGM_SOURCE_NAME; }
        }

        public string work_area_name
        {
            set { WORK_AREA_NAME = value; }
            get { return WORK_AREA_NAME; }
        }

        public string event_name
        {
            set { EVENT_NAME = value; }
            get { return EVENT_NAME; }
        }

        public string method_name
        {
            set { METHOD_NAME = value; }
            get { return METHOD_NAME; }
        }

        public string money_req_name
        {
            set { MONEY_REQ_NAME = value; }
            get { return MONEY_REQ_NAME; }
        }

        public string petition_no
        {
            set { PETITION_NO = value; }
            get { return PETITION_NO; }
        }

        public string petition_dtls_no
        {
            set { PETITION_DTLS_NO = value; }
            get { return PETITION_DTLS_NO; }
        }

        public string emp_name
        {
            set { EMP_NAME = value; }
            get { return EMP_NAME; }
        }

        public string contact_name
        {
            set { CONTACT_NAME = value; }
            get { return CONTACT_NAME; }
        }

        public string contact_person_name
        {
            set { CONTACT_PERSON_NAME = value; }
            get { return CONTACT_PERSON_NAME; }
        }

        public string bidder_name
        {
            set { BIDDER_NAME = value; }
            get { return BIDDER_NAME; }
        }

        public string po_name
        {
            set { PO_NAME = value; }
            get { return PO_NAME; }
        }

        public string payable_name
        {
            set { PAYABLE_NAME = value; }
            get { return PAYABLE_NAME; }
        }

        public Nullable<int> approved_by
        {
            set { APPROVED_BY = value; }
            get { return APPROVED_BY; }
        }

        public Nullable<DateTime> approved_when
        {
            set { APPROVED_WHEN = value; }
            get { return APPROVED_WHEN; }
        }

        public string record_status
        {
            set { RECORD_STATUS = value; }
            get { return RECORD_STATUS; }
        }

        public string record_status_name
        {
            set { RECORD_STATUS_NAME = value; }
            get { return RECORD_STATUS_NAME; }
        }

        public Nullable<int> created_by
        {
            set { CREATED_BY = value; }
            get { return CREATED_BY; }
        }

        public Nullable<DateTime> created_when
        {
            set { CREATED_WHEN = value; }
            get { return CREATED_WHEN; }
        }

        public Nullable<int> updated_by
        {
            set { UPDATED_BY = value; }
            get { return UPDATED_BY; }
        }

        public Nullable<DateTime> updated_when
        {
            set { UPDATED_WHEN = value; }
            get { return UPDATED_WHEN; }
        }

        public Nullable<double> pr_amount
        {
            set { PR_AMOUNT = value; }
            get { return PR_AMOUNT; }
        }
    }
}

